LawrencePeng's Blog

专注收集代码小精灵

如何Query on Compressed Data?

  • 常见做法:
    • 使用通用压缩技术
      • snappy、lz4
    • FM-Index
      • 一种基于BWT的Self-Index技术
    • Succinct Data Structure
      • 一种以信息论下界压缩数据结构的方式。
      • 目前使用这种方法
      • 缺点是构造速度慢,immutable。
      • 所以选择使用Duo Store的方式解决
  • 支持正则搜索
    • 目前是写了个正则parser,对应interpret到Succinct Store的底层api。
  • 优势
    • 放更多数据到内存
    • 无需索引设计,或者数据就是索引本身
    • 用于搜索引擎无需分词降低命中率
  • 劣势
    • 顺序读性能下降。